package qingxin.servlet.admin.news;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.JSONArray;
import org.json.JSONObject;

import qingxin.dao.NewsDAO;
import qingxin.factory.DAOFactory;
import qingxin.servlet.admin.AdminServlet;
import qingxin.vo.News;

@WebServlet("/admin/news/getAbstract") 
public class AbstractServlet extends AdminServlet{

	private static final long serialVersionUID = 1L;
	private NewsDAO newsDAO;
	
	public AbstractServlet(){
		super();
		newsDAO = DAOFactory.getNewsDAO();
	}
	
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
    	response.setContentType("text/html; charset=utf-8");
    	response.setCharacterEncoding("utf-8");
		PrintWriter writer = response.getWriter();
		JSONObject jsonResult;
		
		if(!verification(request)){
			response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
			return;
		}
		
		try{
			String limitS = request.getParameter("limit");
			int limit = (limitS == null) ? 20 : Integer.parseInt(limitS);
			String startS = request.getParameter("start");
			int start = (startS == null) ? Integer.MAX_VALUE : Integer.parseInt(startS);

			News[] news = newsDAO.getAbstract(limit, start);
			JSONArray jsonNews = new JSONArray();
			for(News n : news){
				JSONObject jsonN = new JSONObject();
				jsonN.put("id", n.getNewsID());
				jsonN.put("title", n.getTitle());
				jsonN.put("isNews", n.isNews());
				jsonN.put("type", n.getType());
				jsonN.put("isNews", n.isNews());
				jsonNews.put(jsonN);
			}
			jsonResult = new JSONObject();
			jsonResult.put("news", jsonNews);
			writer.println(jsonResult.toString());
			response.setStatus(HttpServletResponse.SC_OK);
		}
		catch(Exception e){
			response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
			writer.println("{\"msg\":\"wrong\"}");
		}
		finally{
			writer.flush();
			writer.close();
		}
    }
	
	
}
